package com.woniuxy.voice.controller;

import com.woniuxy.voice.service.VoiceRecognitionService;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/api/voice")
@CrossOrigin
public class VoiceRecognitionController {

    @Autowired
    private VoiceRecognitionService voiceRecognitionService;

    /**
     * 语音识别接口
     * @param request 包含音频数据和参数的请求体
     * @return 识别结果
     */
    @PostMapping("/recognize")
    public String recognize(@RequestBody VoiceRecognitionRequest request) {
        // 创建 options 参数（可以为空 HashMap）
        Map<String, Object> options = new HashMap<>();
        // 如果需要，可以添加一些选项，例如：
        // options.put("dev_pid", 1537); // 中文普通话

        return voiceRecognitionService.recognize(
                request.getAudioData(),
                request.getFormat(),      // 格式
                request.getSampleRate(),  // 采样率
                options                   // 可选参数
        );
    }
}

// 请求体类
@Data
class VoiceRecognitionRequest {
    private byte[] audioData;
    private int sampleRate;
    private String format;
}